#ifndef SCRIPT_MANAGER_H
#define SCRIPT_MANAGER_H

#include "lua.hpp"
#include "luabind/luabind.hpp"
#include <string>

                        /** ScriptManager Class **/
 /*****************************************************************************
 *                                                                            *
 * The ScriptManager class is a singleton class that runs lua scripts and     *
 * exports classes to lua from c++                                            *
 *                                                                            *
 *****************************************************************************/

class ScriptManager
{
    private:
        ScriptManager();
        static ScriptManager* _instance;
    public:
        static ScriptManager* instance();

        virtual ~ScriptManager();

        void runScript(std::string name);

        void exportToLua();

        lua_State* luaState();

    private:
        lua_State* _luaState;

};

#endif // SCRIPT_MANAGER_H
